﻿// 10064  黑暗城堡.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://loj.ac/p/10064

题目描述
你知道黑暗城堡有 N 个房间，M 条可以制造的双向通道，以及每条通道的长度。

城堡是树形的并且满足下面的条件：

设 D_i 为如果所有的通道都被修建，第 i 号房间与第 1 号房间的最短路径长度；

而 S_i 为实际修建的树形城堡中第 i 号房间与第 1 号房间的路径长度；

要求对于所有整数 i (1<= i <= N)，有 S_i= D_i 成立。

你想知道有多少种不同的城堡修建方案。当然，你只需要输出答案对 2^{31} -1 取模之后的结果就行了。

输入格式
第一行为两个由空格隔开的整数 N, M;

第二行到第 M+1 行为 3 个由空格隔开的整数 x, y, l：表示 x 号房间与 y 号房间之间的通道长度为 l。

输出格式
一个整数：不同的城堡修建方案数对 2^{31} -1 取模之后的结果。

样例
4 6
1 2 1
1 3 2
1 4 3
2 3 1
2 4 2
3 4 1

6

一共有 4 个房间，6 条道路，其中 1 号和 2 号，1 号和 3 号，1 号和 4 号，2 号和 3 号，2 号和 4 号，
3 号和 4 号房间之间的通道长度分别为 1，2，3，1，2，1。

而不同的城堡修建方案数对 2^{31} -1 取模之后的结果为 6。

数据范围与提示
对于全部数据，1<= N <= 1000，

1 <= M   <=  N(N-1)/2 ，1 <= l <= 200。
*/
int main()
{
    std::cout << "Hello World!\n";
}

 